// 数组解构

// 1. 变量多，值少

const [a,b,c,d] = ['小米','苹果','华为']
console.log(a) // 小米
console.log(b) //苹果
console.log(c) //华为
console.log(d) // undefined

// 2.防止 undefined 传值  设置默认值
const [e,f='苹果'] = ['小米'] // 给 f 设置了默认值
console.log(e)  // 小米
console.log(f) // 苹果


// 3.变量少 ，值多的情况  利用剩余参数解决

let [A,...B] = ['刻晴','甘雨','凝光']
console.log(A) // 刻晴
console.log(B) //[ '甘雨', '凝光' ]

// 4. 按需导入，忽略某些值

let [E, ,F] = ['刻晴','甘雨','凝光'] 
console.log(E) // 刻晴
console.log(F) // 凝光


// 拓展 ： 交换变量

let a1 = 10
let b1 = 20
let temp = a1  // 需要声明一个  中间量
a1 = b1
b1 = temp
console.log(a1,b1)  // 20  10

// 使用 解构 实现交换变量
let a2 = 10
let b2 = 20;  // 要在 ; 号    
[a2,b2] = [b2,a2]
console.log(a2,b2)  // 20 10



// JS 通常有 2 个情况下必须加分号 ：  ()    []

// (function(){})();
// (function(){})();
// (function(){})()